package landun.pojo;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * 报销单
 */
public class BizClaimVoucher {
    private int id;
    private Date createTime;
    private String event;
    private long totalAccount;
    private String status;
    private Date modifyTime;
    private SysEmployee creator;//填报人
    private SysEmployee nextDeal;//处理人
    private Set<BizClaimVoucherDetail> detailList;
    private Set<BizCheckResult> checkResultList;

//    @OneToMany(fetch=FetchType.EAGER)
//    @JoinTable(name = "Biz_claim_result", joinColumns = {@JoinColumn(name = "CLAIM_ID")},
//            inverseJoinColumns = {@JoinColumn(name = "ID")})
//    @Fetch(FetchMode.SUBSELECT)

//    @OneToMany(fetch=FetchType.EAGER)
//    @JoinTable(name = "Biz_claim_voucher", joinColumns = {@JoinColumn(name = "main_Id")},
//            inverseJoinColumns = {@JoinColumn(name = "ID")})
//    @Fetch(FetchMode.SUBSELECT)

    public Set<BizClaimVoucherDetail> getDetailList() {
        return detailList;
    }

    public void setDetailList(Set<BizClaimVoucherDetail> detailList) {
        this.detailList = detailList;
    }

    public Set<BizCheckResult> getCheckResultList() {
        return checkResultList;
    }

    public void setCheckResultList(Set<BizCheckResult> checkResultList) {
        this.checkResultList = checkResultList;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getEvent() {
        return event;
    }

    public void setEvent(String event) {
        this.event = event;
    }

    public long getTotalAccount() {
        return totalAccount;
    }

    public void setTotalAccount(long totalAccount) {
        this.totalAccount = totalAccount;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public SysEmployee getCreator() {
        return creator;
    }

    public void setCreator(SysEmployee creator) {
        this.creator = creator;
    }

    public SysEmployee getNextDeal() {
        return nextDeal;
    }

    public void setNextDeal(SysEmployee nextDeal) {
        this.nextDeal = nextDeal;
    }
}
